/* class Dog {
  // 必须先声明实例属性，才能用this调用
	name: string;
	age: number;

	// constructor 被称为构造函数
	// 构造函数会在对象创建时调用
	// JS、TS中仅能创建一个构造函数！
  constructor(name: string, age: number) {
		// 在实例方法中，this就表示当前当前的实例
		// 在构造函数中的当前对象就是新建的那个对象
		// 可以通过this向新建的对象中添加属性
		this.name = name;
		this.age = age;
	}
} */

// 效果和上面定义类的构造方法效果一样
class Dog {
	// 可以直接将属性定义在构造函数中
	constructor(public name: string, public age: number) {}
}

let dog1 = new Dog('小黑', 3);
let dog2 = new Dog('小白', 8);

console.log(dog1);
console.log(dog2);
